Site A.T.L.A.N.T.I.C-83
COURS = Comprendre son ordinateur (Chapitre_3) - VERSION: 1.0 (M.A.J: 15/03/10)
- AUTEUR(s): Bernard GIACOMONI
Ecran large mobile
Retour
sommaire cours

III.STRUCTURE DES ORDINATEURS

III.1.OBJECTIFS ET PLAN DU CHAPITRE:


Les sujets abordés dans ce chapitre sont très concrèts, puisqu'ils concernent la structure et le fonctionnement des principaux composants d'un ordinateur ainsi que la communication entre ces éléments. L'objectif est ici de permettre au lecteur d'acquérir une connaîssance globale des principes architecturaux des ordinateurs et de leurs composants principaux, et de lui donner des éléments permettant d'évaluer, au moins sommairement, les qualités et les défauts d'une machine donnée.
L'étude commence par la présentation des architectures logique et physiques globales d'un ordinateur. Elle se poursuit par l'étude des principaux composants de premier niveau. Chacun de ceux-ci est décrit sur les plans fonctionnels et techniques, mais cette description est limitée aux éléments qui permettent d'appréhender rapidement et d'une manière synthétique les implications liées au choix de tel ou tel modèle sur le fonctionnement global de la machine.


III.2.ARCHITECTURE GENERALE D'UN ORDINATEUR:


III.2.1.SCHEMA LOGIQUE GENERAL:

Le schéma ci-dessous donne une représentation globale des principaux composants physiques d'une unité centrale d'ordinateur et de leurs interconnexions (Il s'agit d'un schéma logique et non physique):


Architecture logique d'un processeur
Dans ce schéma, nous pouvons distinguer essentiellement:
  • La MEMOIRE CENTRALE qui renferme les programmes et données en cours ou en attente d'exécution.
  • Le PROCESSEUR, dont la fonction principale est l'exécution des PROGRAMMES contenus dans la mémoire centrale.
  • Le CHIPSET (ou PASSERELLE), organe d'interconnexion du processeur avec la mémoire d'une part et les équipements d'entrée-sortie d'autre part. Le chipset représenté ici se décompose (comme c'est le cas la plupart du temps) en deux éléments physiques: la PASSERELLE NORD (NORTH BRIDGE) et la PASSERELLE SUD (SOUTH BRIDGE).
  • Le BUS SYSTEME ou FRONT SIDE BUS (FSB), dont le rôle est d'interconnecter les modules de mémoire vive de la mémoire centrale au processus, via le chipset.
  • Les différents bus traitant les équipements périphériques. Leur rôle est de permettre la connexion physique de ces équipements et l'échange de données avec l'unité centrale. En plus des bus permettant la connexion des périphériques standards (clavier, souris écran), les ordinateurs «grand public» sont en général équipés des bus d'extension USB, PCI (ou PCI EXPRESS), AGP, IDE et SATA.
  • Le contrôleur d'ACCES DIRECT MEMOIRE (ou Direct Memory Accès -DMA en anglais). Le D.M.A permet d'échanger des données entre la mémoire et un équipement périphérique sans nécessiter l'intervention du processeur (sauf en ce qui concerne l'initialisation et la terminaison de l'échange). En général, les entrées-sorties en accès direct mémoire concernent les gros volumes de données (chargement de fichiers disques, par exemple).


III.2.2.SCHEMA SIMPLIFIE D'UNE CARTE MERE:

Le schéma ci-dessous donne un exemple de vue (simplifié) d'une carte mère de PC. Elle vous permettra de vous familiariser avec la disposition physique des différents éléments étudiés dans les paragraphes précédents:


Schema simplifié d'une carte mère
Apparaîssent sur l'image:
  • En haut et à gauche, une serie de 5 connecteurs correspondant au BUS PCI. Ce BUS très répandu permet d'accueillir de nombreux équipements périphériques additionnels (cartes réseau, cartes graphiques, cartes video, etc..).
  • En bas, à droite, deux connecteurs correspondant au BUS mémoire, permettant d'enficher des «barettes» mémoire.
  • En bas, à gauche, deux connecteurs de BUS IDE, permettant de connecter des disques durs, des lecteurs de CD, etc.
  • Au dessus, le circuit intégré supportant le BIOS (Binary Input Output Système), qui permet l'amorçage de l'ordinateur, l'exécution des auto-tests et le chargement du système.
  • Au centre, un connecteur de BUS AGP (bus spécialisé pour les cartes graphiques).
  • Nous voyons également apparaître les deux passerelles du chipset et l'emplacement du processeur.
REMARQUES:
La disposition peut évidemment varier suivant les types de cartes mères, mais l'aspect des composants reste à peu près le même.



III.3.LA MEMOIRE:


III.3.1.REPRESENTATION DES DONNEES:

Dans un ordinateur, les informations sont représentées sous forme DIGITALE BINAIRE. Plus concrètement, toutes les données (de quelque nature qu'elles soient) sont codées sous la forme de combinaisons d'entités appelées BITS.
Le mot bit est la contraction de Binary digiT (littéralement: Digit Binaire). Il désigne une entité ne pouvant prendre que deux états: 0 et 1. Du point de vue technique, un BIT est matérialisé par un système matériel doté de deux états stables (exemple: circuits électroniques bistables).
Dans un ordinateur, une donnée quelconque est donc toujours représentée sous la forme d'une file de BITS, chacun de ceux-ci pouvant prendre les états 0 ou 1. La longueur de ces files de bits est toujours un multiple de 8 (nous verrons plus loin que cette particularité est liée aux modalités d'adressage des données dans les mémoires). Un groupe de 8 bits est appelé OCTET. Les données occupent donc toujours un nombre entier d'octets:


EXEMPLES:


Representation des donnees


Les données numériques nombres entiers ou fractionnaires, signés ou non), peuvent être représentées sur 1, 2, 4 ou 8 octets. Le format de représentation des entiers naturels (non signés) est assez simple: il reproduit la valeur du nombre représentée en base 2. Ainsi, un nombre de 2 octets est représenté sous la forme d'une suite de 16 bits ( B15, B14,,..., B0). dont la valeur V est:
Images/Nombre entier représenté sur 16 bits
Lorsque les nombres sont signés, le bit de plus haut indice représente le signe (0 = +, 1 = -). Dans l'exemple, ce signe serait représenté par la valeur du bit d'indice 15. La représentation de la valeur des nombre négatifs et surtout fractionnaire est beaucoup plus compliquée que celle des entiers naturels et représenterait un trop long développement pour figurer dans cet ouvrage.


III.3.2.ADRESSAGE DES DONNEES:

Les mémoires centrales d'ordinateurs adressent les données par groupes de 8 bits appelés OCTETS. Une adresse mémoire est le numero d'ordre d'un octet de cette mémoire, en commençant par 0 (l'adresse 226 correspond donc au 227eme octets de la mémoire). Une adresse est donc un entier naturel codé comme indiqué au paragraphe précédent. Les processeurs modernes sont capables de traiter des adresses sur 4 ou 8 octets (pour les plus récents).
De ce fait, toute donnée peut être adressée (lue, écrite) directement en mémoire centrale: il suffit de connaître l'adresse de son premier octet et le nombre d'octets occupés. De là vient la dénomination de ce type de mémoire: Random Acces Memory (RAM), que l'on peut traduire littéralement par: mémoire à accès aléatoire. En fait, il serait plus juste de dire «mémoire à ordre d'accès aléatoire» par opposition à certains types de mémoire où l'on ne peut accéder aux données que dans un certain ordre (une bande magnétique, par exemple).
L'octet correspond donc à une «case» de mémoire, au sens du modèle de Von Neuman. Les instructions ou les données occupent toujours un ou plusieurs octets entiers (un nombre occupe 1, 2 , 4 ou 8 octets, un caractère occupe 1 ou 2 octets suivant le codage choisi, un texte occupe un nombre entier d'octets.


III.3.3.TECHNOLOGIE DES MEMOIRES RAM:

III.3.3.1.MEMOIRES VIVES STATIQUES (S.R.A.M: Static RAM):

Ces mémoires sont très rapides et ont l'avantage de ne pas nécessiter de système de rafraîchissement, car les bits sont mémorisés par des «circuits bistables». En revanche, elles sont très chères et consomment beaucoup d'énergie. De ce fait, on les trouve surtout employées dans les mémoires caches des processeurs: il n'est donc pas question d'employer une SRAM comme mémoire centrale.


III.3.3.2.MEMOIRES VIVES DYNAMIQUES:

PRINCIPE:
La plupart des mémoires R.A.M utilisées pour la mémoire centrale des ordinateurs sont des mémoires «capacitives». Ce type de mémoire représente chaque bit par l'état d'un condensateur (en fait, on utilise la capacité parasite qui existe, dans les transistors à effet de champ, entre le drain et le substrat). Le condensateur peut être soit chargé, soit déchargé. L'état chargé correspond à la valeur 1, l'état déchargé à la valeur 0.
Du fait des courants de fuite, la charge des capacités parasites représentant l'état des bits ne se conserve que pendant quelques millisecondes. Il est donc nécessaire de rafraîchir constamment ces charges par un mécanisme automatique. C'est ce qui explique le terme DYNAMIQUE appliqué à ces mémoires.
Malgré les contraintes dûes au rafraîchissement, ces mémoires sont peu coûteuses et consomment peu d'énergie. De plus, chaque bit ne nécessite qu'une faible quantité de matière sur la puce électronique, ce qui permet une grande densité d'intégration.
Les modules de mémoire dynamique sont reconnaîssables à la présence du sigle DRAM (Dynamic Read Only Memory) dans leur appellation.


CARACTERISTIQUES:
Lorsqu'un processeur présente une requète de lecture ou d'écriture à un module mémoire, via le bus système, il transmet dans un premier temps à ce module l'adresse mémoire à partir de laquelle la donnée est implantée. Le fonctionnement du mécanisme d'adressage d'un module n'étant pas instantané, le module n'accèdera à la donnée qu'après un certain TEMPS DE LATENCE, qui est, en général considérable par rapport à la rapidité de fonctionnement d'un processeur. Pendant ce temps, le traitement sur le processeur subira une période d'attente. De ce fait, le temps de latence des modules de la mémoire vive est un facteur très important dans les performances d'un ordinateur.
En compensation, les mémoires de type DRAM et leurs évolutions possèdent un mode de lecture « en rafale » (BURST en anglais), qui permet d'accèder aux 4 données consécutives situées à partir de l'adresse spécifiée. De ce fait, l'accès aux trois dernières données ne subit pas de temps de latence.
Une autre caractéristique importante d'un module mémoire est la « largeur » (en nombre de bits) des données qu'il est capable de transférer sur le bus système en une seule transmission. Actuellement, la plupart des bus systèmes ont une largeur de données de 64 bits. La quasi-totalité des modules mémoire actuels sont donc des « modules 64 bits ».


LES MEMOIRES DYNAMIQUES SYNCHRONES:
En ce qui concerne l'équipement des mémoires centrales d'ordinateurs, les modèles les plus utilisés actuellement sont de type SDRAM (Synchronous Dynamic RAM). La particularité de ce type de modules est que les échanges avec le processeur sont synchronisés par l'horloge interne de l'ordinateur, alors que le fonctionnement des DRAM était asynchrone.
Cette synchronisation permet d'optimiser les délais d'attente du processeur lors d'un accès mémoire. Les délais d'accès à la mémoire s'adaptent (jusqu'à une certaine limite) à la fréquence de fonctionnement du processeur.


EVOLUTIONS DES MEMOIRES DYNAMIQUES SYNCHRONES:
  • Les SDRAM (Synchronous Dynamic RAM) ne sont pratiquement plus utilisées sur les systèmes actuels. D'une largeur de donnée de 32 bits, elles utilisaient un brochage de 72 broche (brochage SIMM: Simple Inline Memory Module) que l'on ne trouve pratiquement plus sur les cartes mêres.
  • les DDR SDRAM (Double Data Rate SDRAM), nettement plus rapides, transfèrent des données deux fois par cycle d'horloge (d'où leur nom), avec une largeur de données de 64 bits. Elles sont destinées à des supports d'enfichage de 184 broches (dits D.I.M.M. Double Inline Memory Module).
  • Les DDR2, DDR3, DDR4 SDRAM, sont des évolutions des DDR SDRAM (amélioration des vitesses de transfer et de la consommation électrique). Elles exigent des supports d'enfichage de 240 broches.


PERFORMANCES DES MEMOIRES DYNAMIQUES SYNCHRONES:
Les temps d'accès des premières DRAM étaient de l'ordre de 60 nanosecondes pour l'accès à une première donnée. En ce qui concerne les DDR SDRAM le temps d'accès peut descendre un peu en dessous de 10 nanosecondes pour l'accès à une première donnée.
La durée du cycle d'horloge d'un processeur fonctionnant à 3 giga-hertz étant de 0,333 nano-secondes, nous pouvons voir que la rapidité d'accès à la mémoire reste un point de blocage important pour l'augmentation des performances des ordinateurs. Equiper les systèmes de modules mémoires rapides constitue donc un bon moyen d'améliorer les performances d'un ordinateur (à condition que le brochage soit compatible). Cependant, le prix des modules augmente très rapidement avec leurs performances.


III.3.3.3.MODULES ET CONNECTEURS DE MEMOIRE:

Les modules de mémoire dynamique se présentent sous forme de cartes enfichables dans les connecteurs du bus mémoire. Chacun de ces modules, appelés souvent «BARETTES MEMOIRE» à cause de leur forme allongée, supportent, suivant leur type, 256, 512, 1024, 2048, etc. méga-octets.
Ces modules s'enfichent sur les connecteurs du BUS SYSTEME (Front Line Bus). Le format du brochage pour les DDR est désigné par le sigle D.I.M.M (Dual Inline Memory Module), car les contacts sont répartis sur les deux faces de la carte.


EXEMPLE:


Connecteur et barette memoire




III.4.LE PROCESSEUR:


III.4.1.GENERALITES:

Le processeur supporte les fonctions qui, dans la machine de Von Neuman, sont dévolues à l'exécuteur:
  • Contrôle de l'exécution des programmes.
  • Exécution des opérations du code d'ordre.
  • Contrôle et exécution des entrées-sorties de données et des signaux en provenance de cette périphérie.
Les processeurs les plus distribués sont ceux des gammes INTEL (pentium, celeron) ou AMD (athlon). Il en existe cependant beaucoup d'autres, présentant souvent des performances supérieures, mais à cause de leur prix élevés, on les trouve surtout sur les systèmes professionnels de type «stations de travail».


III.4.2.ARCHITECTURE GLOBALE:


ArchitectureProcesseur


Le schéma ci-contre représente les différents constituants d'un circuit intégré microprocesseur ainsi que sa périphérie immédiate. La partie grisée représente le microprocesseur proprement dit. Les différents éléments et sous-éléments figurés correspondent à des entités physiques. Il s'agit d'un schéma de principe et non d'une configuration existante.


Nous voyons ici apparaître les entités qui figuraient dans le modèle de Von Neuman: l'unité de contrôle et l'unité de traitement. L'unité de traitement peut être divisée en trois sous-entités:
  • L'U.A.L: Unité Arithmétique et logique (traitements de comparaison, calcul sur des nombres entiers...).
  • L'UVF: Unité de calcul en Virgule Flottante (calcul avec des nombres fractionnaires).
  • La collection de registres de travail.


Nous voyons également apparaître des entités appelées MEMOIRES CACHES (ou encore ANTEMEMOIRES). Ces dispositifs ont pour fonction d'améliorer l'accès du processeur aux données. Le mécanisme des caches est décrit dans les paragraphes suivant.


Le regroupement des entités UC et UT forme ce que l'on appelle COEUR du processeur. Le processeur représenté ici est un «SIMPLE COEUR». Il existe des processeurs équipés de plusieurs coeurs.



III.4.3.COEUR DU PROCESSEUR:

III.4.3.1.DEFINITION:

Un COEUR de processeur désigne un sous-ensemble matériel du processeur capable d'assurer l'exécution d'un THREAD LOGICIEL. Un processeur respectant strictement le modèle de Von Neuman est équipé d'un seul coeur.


La notion de COEUR (CORE en anglais) est relativement récente. Au début des années 2000 sont apparus des processeurs dits «MULTI-COEURS», se distinguant des précédents par leur capacité d'exécuter plusieurs instructions en même temps (contrairement au modèle de Von Neuman). Ceci suppose donc que ces processeurs soient équipés de plusieurs ensembles U.C + U.T. autonomes, qui sont ses coeurs.


III.4.3.2.CARACTERISTIQUES D'UN COEUR:

CAPACITE D'ADRESSAGE:
Une des caractéristiques principales d'un processeur est la dimension (en nombre de bits) des adresses mémoires qu'il peut traiter. En effet, une adresse codée sur 4 octets (32 bits), permet d'adresser un peu plus de 4 giga-octets: c'est la capacité des ordinateurs livrés actuellement. Cette longueur d'adresse ne permet donc plus de progression de la capacité mémoire. Les processeurs les plus récents traitent des adresses sur 8 octets, soit 64 bits, ce qui leur permet d'adresser environ 18 milliards de milliards d'octets: ils n'introduisent donc pratiquement plus de limitation (au moins à court ou moyen terme) à la capacité mémoire.
Cette caractéristique est surtout importante lorsque l'on désire effectuer des traitements nécessitant de grands volumes de mémoire centrale (traitements photo et vidéo, par exemple).


LARGEUR DE MOT:
Nous avons vu plus haut que les processeurs étaient équipés de nombreux registres servant à stocker les résultats intermédiaires des traitements, évitant ainsi des accès mémoires inutiles. En général, les registres d'un processeur ont tous la même largeur L en nombre de bits, qui est également la largeur des données binaires entières que l'Unité de Traitement peut accepter. On dit alors que L est la largeur de MOT que le processeur peut traiter (en anglais, cette notion de mot est souvent exprimée par le terme WORD, ou encore BYTE (qui n'est en aucun cas la traduction d'octet).
La largeur du mot est importante car elle définit la précision des traitements numériques: avec un mot de 16 bits, la précision est de l'ordre de 15 millionièmes, alors qu'elle atteint un quart de milliardième avec 32 bits. Si la longueur de mot est insuffisante pour la précision demandée, on est forcé, pour l'obtenir, d'avoir recours à des traitement logiciels supplémentaires qui ralentissent les temps d'exécution. La longueur du mot influe donc sur la précision des calculs ou sur la vitesse d'exécution.
Les premiers processeurs traitaient des mots de 8 ou 16 bits (1 ou 2 octets). Les processeurs «32 bits» sont apparus au milieu des années 1990. Actuellement, les ordinateurs sont livrés avec des processeurs «64 bits», mais de nombreux ordinateurs «32 bits» sont encore en service. La plupart des systèmes d'exploitation et logiciels de service actuels sont programmés en 32 bits et n'exploitent pas vraiment les possibilités des «64 bits».


EXECUTION D'UNE INSTRUCTION:
L'exécution d'une instruction par un coeur peut être décomposée en plusieurs étapes. La décomposition la plus simple et la plus évidente comprend quatre étapes:
  1. La préparation de l'instruction (lecture en mémoire et décodage du code d'ordre).
  2. La préparation des données (lecture en mémoire des valeurs des opérandes).
  3. L'exécution (exécution de l'opération).
  4. La sauvegarde des résultats en mémoire.
(Cette décomposition n'est qu'un exemple simple: certains processeurs distinguent jusqu'à 14 étapes).


L'exécution de chaque étape est déclenchée par un signal périodique fourni par un composant appelé HORLOGE INTERNE, indépendant du processus. C'est la fréquence de ce signal qui est évoquée lorsqu'on parle, par exemple, d'un processeur de vitesse 3,3 ghz: ceci veut dire que chaque étape d'une instruction est exécutée dans un intervalle de temps de 1/(3,3*109) secondes, soit environ 0,3 nano-secondes.


La durée d'exécution d'une instruction dépend donc de la période d'horloge et du nombre d'étapes. Ainsi, une instruction comprenant 6 étapes sera exécutée en six «coups d'horloge». Dans l'exemple précédent, une telle instruction s'exécuterait donc en 0,3*6 = 1,8 nano-secondes.


LIMITATIONS A L'AUGMENTATION DE LA FREQUENCE D'HORLOGE:
De ce qui précède, on pourrait déduire qu'il suffit d'augmenter la fréquence d'horloge pour augmenter les performances d'un coeur. Pourtant, si cette opération (appelé OVERCLOCKING en anglais) peut constituer un moyen d'améliorer la vitesse d'exécution des processeurs, elle se heurte à plusieurs difficultés:
  • D'une part, la vitesse de commutation des circuits intégrés dépend surtout de leur miniaturisation. Or, l'augmentation de celle-ci commence à poser des problèmes de réalisation.
  • D'autre part, la dissipation d'énergie augmente beaucoup plus vite que la rapidité de commutation des circuits. Les processeurs rapides exigent donc des dispositifs de refroidissement de plus en plus complexes.
  • Enfin, la vitesse d'exécution des étapes est souvent limitée par la vitesse des cycles de lecture de la mémoire (nous verrons plus loin que ce point est amélioré par l'utilisation des caches mémoires).
De ce fait, depuis quelques années, l'augmentation des vitesses d'horloge des processeurs «grand public» semble marquer le pas (autour de 4 gigahertz).


NOTION DE PIPE-LINE:
La plupart des coeurs existants intègrent un mécanisme appelé PIPE LINE. Celui-ci consiste à concevoir le coeur de façon à ce que chaque étape d'exécution d'une instruction utilise des circuits indépendants des autres étapes. De ce fait, plusieurs étapes différentes de plusieurs instructions différentes peuvent s'exécuter simultanément. Une instruction peut commencer à s'exécuter avant que l'instruction précédente soit terminée.


EXEMPLE: Supposons que les instructions s'exécutent suivant les 4 étapes énoncées ci-dessous. Nous pourrons avoir un pipe-line de profondeur 4:


Pipe-Line


REMARQUE: Le PIPE LINE doit disposer également d'un mécanisme permettant de lire «en avance» plusieurs instructions (en fait, autant que la profondeur du pipe-line). Ce mécanisme, appelé BANQUE MEMOIRE (MEMORY BANK) est souvent intégré aux CACHES que nous verrons plus loin.


L'efficacité du pipe line dépend de sa PROFONDEUR, c'est à dire du nombre d'étapes de différentes instructions susceptibles de s'exécuter en même temps. Nous pouvons voir qu'en «régime établi» (c'est à dire pendant l'exécution d'une longue série d'instruction séquencielles), un pipe-line de profondeur N permet en théorie d'exécuter N fois plus d'instructions par unité de temps que s'il n'y avait pas de pipe-line.
Le pipe-line permet donc, à fréquence d'horloge constante, d'augmenter le nombre d'instructions exécutées par secondes, à condition que les instructions soient exécutées en séquence. En cas de rupture de séquence, il n'est plus possible d'anticiper la lecture des instructions et le pipe-line devient inopérant. L'efficacité dépend donc beaucoup de la structure du programme exécuté.
L'amélioration de vitesse par la solution «pipe-line» est près d'atteindre ses limites: d'une part, certains processeurs modernes ont des pipe-lines de profondeur 14, ce qui augmente beaucoup la complexité des coeurs, et d'autre part, les gains d'efficacité (qui en théorie sont de N pour une profondeur N) s'amenuisent à mesure que la profondeur augmente, du fait des traitements supplémentaires qu'entraine la gestion du pipe-line.


III.4.3.3.LES PROCESSEURS MULTI-COEURS:

Les processeurs MULTI-COEURS sont appelés ainsi car ils renferment plusieurs coeurs. Il est donc possible d'exécuter simultanément plusieurs séquences d'instructions (qui se déroulent donc en parallèle dans le temps). Ces séquences peuvent appartenir à un même programme ou à des programmes différents. Dans le premier cas, on parle de «Multi-threading», dans le second de «multiprocessing». Il existe actuellement sur le marché des processeurs à deux coeurs (exemple: pentium «Duo core» et «Duo core 2») et à 4 coeurs (Exemple: Pentium quad).
Le schéma suivant décrit l'architecture de principe d'un processeur multicoeurs:


Architecture multi-coeur


La solution multi-coeur doit, en théorie, permettre d'atteindre la même puissance qu'un simple-coeur en utilisant des fréquences d'horloge plus faibles (4 fois pour un quadruple coeur), ce qui permet de limiter les dissipations d'énergie. En fait, le gain en vitesse n'est pas aussi important. En effet:
  • L'efficacité des multi-coeurs dépend de la possibilité de paralléliser les traitements des programmes exécutés. Or, une bonne parallélisation des logiciels exige que ceux-ci soient codés d'une manière qui permette leur division en «threads» parallélisables. La plupart des logiciels existants ne remplissent pas ces conditions.
  • Les multicoeurs possèdent tout de même des mécanismes permettant d'améliorer l'exécution de logiciels non adaptés, par des algorithmes de parallélisation automatique, quand cela est possible. Cependant, les gains obtenus restent relativement limités.
  • Même si l'on se place dans le cas d'une parallélisation parfaite, le fonctionnement de plusieurs coeurs sur la même puce induit forcément des temps d'attente dûs au partage de certaines ressources, réduisant ainsi le rendement global, qui reste donc inférieur à la somme des rendements des coeurs.
Les coeurs des multicoeurs actuels (2010) ont des vitesses d'horloge situées autour de 1700 mhz, tandis que les monocoeurs «grand public» les plus performants atteignent 3,5 à 4 mhz. Dans ces conditions, les améliorations se situent plus au niveau de la dissipation d'énergie (critère important quand il s'agit d'un ordinateur portable) plutôt que de la vitesse d'exécution.


Actuellement (2010), la mise sur le marché de logiciels adaptés au traitement multi-coeurs est encore assez réduite. En effet, peu de développeurs sont formés à ce type de programmation. La situation va très probablement s'améliorer, au moins à moyen terme, sous la pression de la demande car la plupart des ordinateurs actuellement mis sur le marché sont équipés de multicoeurs.


REMARQUE:
Une machine dotée d'un processeur multicoeur n'est pas équivalente à une machine multi-processeurs: sur une machine multi-coeur, le processeur cherche à paralléliser l'exécution du code de chaque programme, alors qu'une machine multiprocesseurs attribue à chaque processeur un programme différent et les exécute simultanément.
En général, sur une machine à multiprocesseurs, un processeur est dédié au système d'exploitation et les autres aux programmes d'application. Ces logiciels peuvent être écrits de façon classique (linéaire).


III.4.4.LES MEMOIRES CACHES (ANTEMEMOIRE):

III.4.4.1.PRINCIPE:

Les MEMOIRES CACHES sont constituées de mémoires rapides, souvent de technologie SRAM, qui fonctionnent suivant un mécanisme différent des RAM classiques: L'accès aux données ne se fait pas par une adresse numérique, mais par une «clef d'identification» à laquelle la donnée est associée (d'où le nom de MEMOIRE ASSOCIATIVE). Ces mémoires à accès ultra-rapide sont en compensation très coûteuses et gourmandes en énergie. Il n'est donc pas question d'en installer de grandes capacités.
Le principe des mémoires caches est de mémoriser des données en provenance de la mémoire centrale au fur et à mesure qu'elles sont utilisées par le processeur afin de pouvoir, en cas de nouvelle demande d'accès à ces données, les fournir directement au processeur sans qu'il soit nécessaire de refaire une lecture en mémoire centrale.
Le schéma suivant décrit le mécanisme de principe d'un cache:


Principe des mémoires cache
COMMENTAIRE:
  1. Le processeur a besoin de la donnée D. Il la demande au cache.
  2. Celui-ci ne l'a pas encore mémorisée. Le cache lit alors en mémoire centrale la donnée D plus les données voisines.
  3. Le cache fournit alors la donnée D au processus.
  4. Si, quelques temps après, le processeur a besoin d'une donnée, il en fait la demande au cache.
  5. Celui-ci recherche cette donnée parmi celles qu'il a enregistrées. Si cette donnée fait partie du bloc enregistré avec D, il la fournit directement au processeur. Sinon, il la lit en mémoire centrale avec les données voisines, puis la fournit au processeur après avoir mémorisé les données lues.
D'autre part:
  • Lorsque le processus écrit une donnée en mémoire, le cache en profite pour rafraîchir cette donnée s'il la possède.
  • Lorsqu'un équipement quelconque écrit directement en mémoire sans passer par le processeur, le cache en est averti et peut se mettre à jour.


III.4.4.2.NIVEAUX DE CACHES:

Le schéma de processeur présenté plus haut montre un système à deux niveaux de caches:
  • Un cache «primaire» (que l'on note L1), divisé en deux mémoires distinctes: un cache d'instructions et un cache de données. Le cache L1 est relativement petit (quelques dizaines de méga-octets).
  • Un cache secondaire, noté L2, beaucoup plus grand.
Le principe de fonctionnement reste sensiblement le même qu'avec un seul cache. Le cache L2 se comportant vis à vis de L1 comme L1 se comporte vis à vis du processeur.


REMARQUE: Certains processeurs modernes intègrent un troisième niveau de cache, appelé «cache externe». Ce cache externe peut aussi être connecté au Front Side Bus.

III.4.4.3.UTILITE DES MEMOIRES CACHES:

L'intérêt des mémoires caches est évident en ce qui concerne la lecture des instructions en mémoire: celles-ci étant la plupart du temps exécutées en séquence, il est intéressant, quand on en lit une, de lire également les N instructions qui suivent en mémoire et de les placer dans le cache: on ne fera alors plus qu'un accès mémoire toutes les N instructions, le reste étant lu en mémoire rapide.
Le regroupement des instructions d'un même programme dans une zone mémoire peut également permettre de charger toutes ses instructions dans le cache. L'efficacité du cache est alors maximale.
En ce qui concerne la lecture des données, l'efficacité des caches dépend de la manière dont les zones de données des programmes sont organisées en mémoire: une organisation qui permet d'amener le maximum de données dans le cache sera optimale.
La manière d'assembler les programmes en mémoire influe donc beaucoup sur l'efficacité des caches. Celle-ci dépend de la qualité des développeurs, mais aussi de celle des compilateurs. Elle dépend également de la taille des caches et des performences des mémoires utilisées.


III.5.LE CHIPSET:


Les CHIPSETS sont des composants électroniques que l'on retrouve dans la plupart des appareils contenant de l'informatique embarquée, comme les appareils photo numériques, les téléphones cellulaires, les G.P.S. ou les micro-ordinateurs. En effet, ce composant matériel fait office de PASSERELLE d'interconnexion entre les différents composants de ces systèmes informatiques. On trouve également des chipsets sur des modules d'interface complexes équipés d'un processeur local, comme les cartes graphiques de grande puissance.


Dans un ordinateur, le chipset est relié d'une part au PROCESSEUR et d'autre part à différents composants appelés B.U.S ( Binary Utility Systems). Il est choisi en premier lieu pour sa compatibilité avec ce processeur (les constructeurs de chipsets sont souvent également constructeurs de processeurs), et également en fonction du nombre et du type de B.U.S que l'on désire pouvoir installer sur le système informatique.


En général, le chipset est composé de 2 modules matériels (circuits intégrés) distincts: la passerelle nord, et la passerelle sud. La passerelle nord accueille le processeur, le bus système (FSB) et le bus AGP, tandis que la passerelle sud accueille les autres bus d'entrée-sortie. Ceci permet de séparer les flux de données internes à la machine des flux d'échange avec la périphérie.


De par son rôle central dans l'architecture d'un ordinateur, le chipset influe beaucoup sur les performances et les capacités de ceux-ci:
  • Capacités maximales de la mémoire et des disques.
  • Vitesse et débit maximum des bus.
  • Capacités d'évolution (ajout de nouvelles barettes mémoire, bus additionnels, etc.).
  • etc.


NOTA:
Certains chipsets englobent des composants dont les fonctionnalités sont celles des carte graphiques (chipset vidéo de type NVIDIA, par exemple). Ils permettent donc de faire l'économie de ce type de module. Cependant, les performances de ces composants restent en général très moyennes.


III.6.LES B.U.S.:


III.6.1.DEFINITION ET PRINCIPE:

Les B.U.S ( Binary Utility Systèms) sont des dispositifs qui offrent des possibilités de connexion standardisée à des équipements externes ou internes (modules d'interfaces enfichables, supports de circuits intégrés, barettes mémoires, etc..).
Le principe de fonctionnement caractéristique d'un bus est le fait qu'une information émise sur celui-ci est distribuées à toutes les connexions existant sur ce bus. De ce fait, tous les systèmes connectés sont susceptibles d'y accéder. L'architecture logique générale d'un bus est la suivante (quelle que soit sa structure physique réelle):


Structure d'un BUS


Le MEDIA peut être constitué de conducteurs électriques ou de fibres optiques. Un certain nombre de connecteurs sont installés «en parallèle» sur le média.


III.6.2.EXEMPLE - BUS PCI:


Bus PCI
Le schéma ci-contre montre, à gauche, un module enfichable (il s'agit ici d'une carte graphique). Ce module est caractérisé par le brochage de son connecteur (fiches mâles situées à sa partie inférieure).
Ce brochage (nombre, espacement et fonctions des fiches), est caractéristique de la connectique du BUS PCI, dont nous voyons, à droite, cinq connecteurs femelles, tels qu'ils se présentent sur une carte mêre d'ordinateur.
Il s'agit donc bien d'une CARTE GRAPHIQUE P.C.I.


III.6.3.CARACTERISTIQUES:

III.6.3.1.GENERALITES:

Un type de B.U.S. est caractérisé par:
  • Son protocole de communication de données (signaux échangés, format des données, etc.).
  • Son type de connectique physique, c'est à dire son standard de connecteur de raccordement.


EXEMPLES:
  • Le BUS USB offre un certain nombre d'emplacements de raccordement, qui sont des prises USB «femelles», dans lesquelles peuvent être enfichés des modules appelés «clefs USB». Pour échanger des informations avec ces modules, l'unité centrale doit respecter le protocole de communication défini par le standard USB.
  • Le BUS PCI offre des emplacements de raccordement, lesquels peuvent être enfichés des modules appelés «cartes d'interface PCI» (cartes graphiques, cartes réseau). Pour échanger des informations avec ces modules, l'unité centrale doit respecter le protocole de communication défini par le standard PCI.


Un connecteur correspondant à un type de bus portera donc en général le nom de ce type (on parlera de connecteurs PCI, connecteurs USB, etc.). De même, un module destiné à être branché sur un type de bus particulier incluera dans son identification le nom du type de bus (on parlera ainsi d'une carte graphique AGP, d'une carte graphique PCI, d'une clef USB, etc.).


III.6.3.2.CONNEXIONS PHYSIQUES:

Les possibilités de connexion sont matérialisées par la présence d'un certain nombre de connecteurs répondant à la norme de connexion du BUS. Afin d'éviter les contacts inopinés avec des objets extérieurs (les court-circuits résultants pourraient se propager à l'unité centrale), il s'agit toujours de connecteurs femelles. Ceux-ci peuvent être très nombreux, car certains composants pemettre d'étendre les bus en régénérant les signaux, quand c'est nécessaire.


III.6.3.3.PROTOCOLE DE COMMUNICATION:

Le protocole de communication est l'ensemble des rêgles et des mécanismes logiques régissant l'échange d'informations entre les systèmes connectés sur le bus. Ces systèmes doivent donc avoir l'«intelligence» nécessaire pour pouvoir traiter ce protocole (les modules sont en général munis de logiciels embarqués de gestion du bus).


ACCES AU BUS:
Dans un BUS, les organes de transmission sont des conducteurs (électriques, optiques, etc.). Ceux-ci constituent des ressources que les différents systèmes connectés doivent se partager, car la plupart du temps, un seul de ces systèmes peut émettre sur le bus à un instant donné. Il faut donc contrôler les accès des systèmes connectés par un MÉCANISME D'ACCÈS permettant d'éviter les conflits.


ADRESSAGE D'UN MODULE:
D'autre part, lorsque des données circulent sur le BUS, le destinataire doit pouvoir détecter que ces données lui sont destinées. Il est donc nécessaire de disposer d'un SYSTÈME D'ADRESSAGE des hôtes du bus. Une adresse est toujours représentée par un nombre entier codé en binaire circulant sur le bus. Suivant la «sophistication» du bus, cette adresse peut correspondre simplement à un connecteur donné (bus ISA, par exemple), ou bien désigner un des modules connectés, indépendemment de son connecteur (Bus PCI, par exemple).


III.6.3.4.CAPACITE "PLUG AND PLAY":

Les bus modernes intègrent des mécanismes permettant, lors du branchement d'un module sur un de ses connecteurs, de reconnaître le type de ce module (c'est ce mécanisme qui permet à votre ordinateur de reconnaître votre appareil photographique quand vous le branchez sur un port USB).
Ceci n'a évidemment rien de magique: simplement, les modules enfichables contiennent une mémoire morte renfermant un certain nombre d'information du contructeur. Dès que le bus détecte un branchement, il établit un dialogue pour récupérer ces données, qui sont transmises au système d'exploitation de votre ordinateur.
L'avantage principal de cette fonction est de permettre l'installation automatique des pilotes de périphériques d'un nouveau module dès que sa connexion est détectée (encore faut-il que le système d'exploitation connaîsse ce module et dispose du bon pilote dans sa base de données: si ce n'est pas le cas, il faudra vous charger vous-même de ce travail, avec l'aide des logiciels prévus à cet effet).


III.6.4.BUS SERIE ET BUS PARALLELES:

III.6.4.1.LES BUS SERIE:

Un BUS SERIE transmet toutes ses données sur un seul conducteur (ou plus exactement, sur une seule "boucle de liaison". La valeur de chaque bit d'information est représentée par un signal électrique (variation de tension) qui se propage sur ce conducteur. Le schéma ci-dessus donne un exemple de codage de l'octet 10011010:


Propagation sur un bus serie


Ceci n'est qu'un exemple de codage dans lequel la valeur 0 est représentée par -5 volts, la valeur 1 par +5 volts et l'absence d'information par 0 volts (codage NRZ).


Nous pouvons constater que le débit de ce type de bus est inversement proportionnel à la durée pendant laquelle le signal représentant un bit est maintenu: si DT = 0,05 micro-secondes, le débit maximum sera: 1/(0,05*10-6) = 20 méga-bits par seconde.


III.6.4.2.LES BUS PARALLELES:

Un bus parallèle transmet simultanément chacun des bits d'un mot de donnée. Chaque bit est donc transmis «en parallèle», sur un conducteur différent, sous la forme d'un signal électrique (variation de tension), figuré en rouge sur le schéma ci-dessous.


Transmettre simultanément la valeurs de tous les bits d'un mot peut sembler, à priori, une solution très efficace du point de vue du débit d'information. Cependant, une difficulté importante vient minimiser l'avantage espéré. En effet, chaque signal, empruntant un conducteur différent, ils ne se propage pas forcément tous à la même vitesse. Des différences peuvent être provoquées par des impédences de contact, des longueurs de fils différentes, des courbures ou torsions des câbles, etc. Elles sont d'autant plus importantes que les longueurs de conducteurs sont importantes.


Pour pallier ce défaut, on transmet en même temps que l'information, un signal de synchronisation qui indique au récepteur l'instant où il lui est possible de prélever l'information.


Propagation sur un bus parallele


Les BUS parallèles les plus anciens (ISA, IESA, PCI, VME) transmettent les données et les adresses sur la même nappe de conducteurs. Les bus récents transmettent adresses et données sur deux nappes séparées, ce qui permet d'augmenter le débit des données, en faisant se chevaucher une phases de transfer de données avec la phase d'adressage suivante.


Les bus systèmes (FSB) qui équipent les processeurs récents ont souvent une nappe d'adressage de 64 conducteurs (permettant d'adresser des mémoires centrales sur 8 octets) et une nappe de données de 128 conducteurs, permettant de rapatrier 16 octets d'un seul coup vers le processeur.


III.6.4.3.COMPARAISON BUS SERIE ET BUS PARALLELES:

Nous avons vu que, pour les bus parallèles, l'avantage de transmettre tous les bits d'un mot en même temps contrebalancé par la difficulté de maintenir les signaux en phase sur la nappe de conducteurs. En fait, les bus parallèles sont supérieurs en débit lorsque les longueurs de connexion restent faibles et l'environnement protégé: c'est le cas à l'intérieur des châssis d'ordinateurs. En revanche, dès qu'il faut sortir du châssis pour se connecter à des organes externes plus ou moins éloignés, dans un environnement non protégé, les bus série reprennent l'avantage.


De ce fait, nous trouverons à l'intérieur d'un châssis d'ordinateur surtout des bus parallèles (FSB, AGP, PCI, VME, IDE, etc.). Une exception notable est le bus SATA (serial ATA) qui permet le branchement de disques durs). En revanche, les bus externes sont plutot des bus série (USB, FIREWIRE, connexions souris et clavier standards, etc.).



III.7.LE CONTRÔLEUR D.M.A:


III.7.1.PRINCIPE:

Le contrôleur DMA permet à un périphérique d'échanger des données avec la mémoire centrale sans qu'il soit nécessaire que le processeur intervienne pendant l'échange (d'où son appellation: Direct Memory Acces en anglais ou Accès Direct à la Mémoire en français).


III.7.2.ENTREE-SORTIE EN MODE PROCESSEUR:

Une opération d'entrée-sortie se traduit le plus souvent par un transit d'informations entre le périphérique concerné et une zone de la mémoire vive. En l'absence de contrôleur DMA, l'ensemble de ces données transite par le processeur. En effet:
  • Dans le cas d'une ENTREE, le processeur va être averti par son unité d'entrée-sortie (interruption externe) qu'un périphérique est prêt à fournir des données. Le processeur va donc exécuter une instruction de lecture sur le périphérique en question, puis, il va exécuter une deuxième instruction pour ranger les données lues en mémoire, puis il va falloir répéter ces opérations jusqu'à ce que l'ensemble des données aient été saisies.
  • Dans le cas d'une SORTIE, le processeur va d'abord émettre vers le périphérique une requète d'émission (en exécutant une instruction adaptée). Le périphérique va lui répondres par un signal « prèt à émettre » (interruption externe). Le processeur va alors lire en mémoire la donnée à émettre, puis émettre cette donnée vers le périphérique. Il va falloir, bien sûr, répéter ces opérations jusqu'à ce que l'ensemble des données aient été émises.


Les instructions d'entrée-sortie des processeurs ne permettent de lire qu'une quantité limitée d'informations (quelques octets). Dans le cas où le volume de données à échanger est important, le processeur se trouve donc extrêment sollicité, pendant des durées assez importantes (la lecture ou l'écriture d'un gros fichier sur un disque dur peut durer plusieurs secondes). D'autre part, pendant les échanges, le fonctionnement du processeur est contraint par celui du périphérique, qui lui impose ses contraintes de rapidité d'accès aux donnée, de procédure d'échange, etc.
De ce fait, les entrées-sorties risquent de ralentir notablement, voire de neutraliser temporairement, l'exécution des programmes en cours.


III.7.3.ENTREE-SORTIE EN MODE D.M.A:

Les contrôleurs D.M.A. permettent de pallier ces inconvénients:
  • Le processeur intervient au début de l'échange pour l'initialiser: il communique au contrôleur D.M.A. L'adresse de la zone de mémoire concernée et le compte d'octets à émettre ou recevoir.
  • A partir de cet instant, le contrôleur D.M.A. se charge de gérer l'échange direct de données entre la mémoire et le périphérique, via le BUS de ce périphérique et le bus système.
  • A la fin de l'échange, un signal (interruption externe) est envoyé au processeur pour lui indiquer soit que les données lues sont disponibles en mémoire, soit que l'émission des données est terminée.


Entrée-sortie en mode D.M.A



III.8.LE BIOS:


III.8.1.PRINCIPE:

Au démarrage de votre ordinateur, la mémoire RAM est vide. En effet, des courants de fuite affectent les mémoires capacitives. Les informations ne peuvent donc s'y conserver sans être rafraîchies périodiquement. Ce rafraîchissement, qui est exécuté automatiquement pendant les périodes de fonctionnement, s'arrète quand l'ordinateur est mis hors tension.


De ce fait, à chaque démarrage d'un ordinateur, il est nécessaire de charger en mémoire les parties du système d'exploitation qui doivent résider en mémoire (gestionnaire de tâches, gestionnaire d'entrées-sorties, etc.). Ces logiciels sont en général enregistrés sur des disques durs, mais ils peuvent l'être également sur des disquettes, CD, cartes mémoires ou clefs USB.


Il faut donc, au démarrage de l'ordinateur, appeler en mémoire centrale les logiciels nécessaires. Mais pour cela, il faudrait pouvoir lancer un logiciel capable de lire sur un des supports physiques évoqués plus hauts et de transférer les logiciels systèmes dans la R.A.M. Le problème est que la mémoire est vide! Il faut donc disposer d'un autre moyen pour AMORCER le chargement de la mémoire.


Le B.I.O.S ( Binary Input Output System) permet de résoudre ce problème.


III.8.2.STRUCTURE DU BIOS:

Le BIOS est un équipement matériel composé de trois parties distinctes:
  1. Une R.O.M (Read Only Memory): mémoire morte rémanente (c'est à dire non inscriptible et pouvant conserver indéfiniment des informations).
  2. Une P.R.O.M (Programmable Read Only Memory): mémoire R.O.M. pouvant être modifiée par des traitements spéciaux («flashage»).
  3. Un circuit intégré contenant un mécanisme capable de transférer le contenu de ces mémoires en mémoire centrale.
La R.O.M. contient divers logiciels permettant l'amorçage de l'ordinateur, ainsi qu'un enregistrement de configuration de démarrage «standard» de celui-ci (SET UP standard). Ces logiciels seront décrits plus loin. La P.R.O.M. permet de conserver la configuration de démarrage de l'ordinateur telle qu'elle a été adaptée par l'utilisateur en fonction de ses besoins (SET UP Courant).


III.8.3.FONCTIONNEMENT DU BIOS:

III.8.3.1.LES LOGICIELS DU BIOS:

Les logiciels contenus sur la R.O.M. sont composés:
  • D'un «mini-système d'exploitation» capable de gérer de façon basique les périphériques les plus courants (clavier, souris, écran, disques dur, lecteurs de CD et de disquette).
  • D'un programme de test simple du matériel et de la mémoire.
  • D'un programme capable de rechercher sur des périphériques d'amorçage (disque dur, CD, floppy, etc.) la présence d'un logiciel d'"amorçage" de ce périphérique, puis de charger ce logiciel et lancer son exécution(boot système).
  • D'un logiciel de configuration (SETUP) du BIOS, permettant de paramétrer le système d'exploitation, la procédure d'amorçage et différents paramètres tels que la date et l'heure systèmes, le mot de passe BIOS, etc...
REMARQUE:
Un périphérique d'amorçage (disque dur, CD, floppy, clef USB, etc...) est en général divisé en plusieurs zones appelées partitions. Chacune de ces zones renferme l'enregistrement (ou les enregistrements) d'un ou plusieurs systèmes d'exploitation. Elle renferme également l'enregistrement d'un logiciel qui permet de charger en mémoire, puis de lancer l'exécution de l'un de ces systèmes d'exploitation.
C'est cette opération que l'on désigne par l'expression "amorçage du périphérique". Le logiciel d'amorçage est souvent nommé "chargeur système" en français, ou encore "boot loader" en anglais.


SEQUENCE DE DEMARRAGE:
  1. Au démarrage de l'ordinateur, le circuit intégré est activé. Il charge dans la mémoire centrale les logiciels et la configuration courante contenue dans les mémoires du BIOS.
  2. Il charge ensuite le compteur ordinal avec l'adresse de début des logiciels de test, déclenchant l'exécution des programmes chargés.
  3. Les logiciels de test se déroulent alors. Cette phase de test est nommée POST (Pre Operating System Test). Si une anomalie est détectée, des séries de «bips» sonores sont émis pour l'identifier. En effet, à ce niveau, l'écran n'est pas forcément en fonction, et l'émission de bips est le seul moyen de signalisation disponible (le codage de ces bips dépend en partie du constructeur du BIOS).
  4. La recherche d'un programme d'amorçage du système d'exploitation est alors lancée pour les périphériques dont la liste est donnée par le SETUP. Chaque périphérique d'amorçage comporte un enregistrement dans lequel est placé un programme d'amorçage (boot loader), et l'enregistrement d'au moins un système d'exploitation (windows, LINUX, etc.). Dès qu'un programme d'amorçage est trouvé sur un périphérique, celui-ci est chargé en mémoire et lancé. C'est lui qui va rapatrier le système d'exploitation en mémoire RAM.
  5. Le système d'exploitation est alors lancé et le travail du BIOS est terminé.


III.8.3.2.MODIFICATION DE LA CONFIGURATION DU BIOS:

La configuration du BIOS (SETUP) contient un certain nombre de paramètres de configuration matérielle utilisés pour le démarrage: par exemple, le type des périphériques connectés, le nom des périphériques d'amorçage et l'ordre dans lequel ils doivent être explorés, la date et l'heure courantes, etc. Cette configuration est utilisée par les différents logiciels de démarrage.


En général, un ordinateur est livré avec une configuration standard correspondant au matériel installé. Des modifications de cette configuration sont parfois nécessaires ou utiles lorqu'on ajoute un nouveau matériel ou pour mieux s'adapter à certaines utilisations (par exemple, si l'on veut changer de périphérique d'amorçage).


La gestion des modifications de configuration du BIOS est effectuée par le programme SETUP, chargé par le BIOS. Ce programme doit être activé pendant la phase de lancement, en appuyant sur une touche du clavier (F2, F5, F10, suivant les BIOS). Il affiche des menus de configuration dont le format dépend du BIOS installé. En fin de configuration, une commande permet d'enregistrer les modifications sur la PROM.


III.8.3.3.REMARQUES:

  • Pour conserver ses informations, la PROM a besoin d'une alimentation électrique. Celle-ci est fournie par une petite pile électrique (appelée souvent «pile CMOS», CMOS étant le nom de la technologie des PROMs). Lorsque cette pile est vide, la configuration courante est effacée. C'est alors le SETUP d'origine qui est repris en compte. Ceci n'est pas très grave, car il ne faut pas oublier que la plupart des spécipications du SETUP ne sont prises en compte que lors du lancement. En effet, les systèmes d'exploitation remplacent les logiciels du BIOS (trop simplistes) par leurs propres logiciels, notamment en ce qui concerne les entrées-sorties.
  • La pile CMOS est également utilisé pour faire fonctionner l'horloge de l'ordinateur pendant l'arrêt de celui-ci. Si cette pile est vide, la date et l'heure sont réinitialisées à 0 et le setup d'origine est repositionné.
  • Lorsqu'on a commis une erreur dans la modification du SETUP, il arrive parfois que l'on ne puisse plus amorcer le système. Il faut donc revenir à la configuration d'origine du SETUP. Pour cela, il suffit de déplacer un cavalier qui se trouve sur la carte mère et de redémarrer l'ordinateur (il faut ensuite repositionner le cavalier, car sinon, le setup sera toujours réinitialisé au démarrage). On peut aussi, évidemment, retirer la pile CMOS, mais la réinitialisation ne survient qu'apres un temps assez long.



Retour accès cours Retour sommaire cours